class Solution {
public:
    int longestConsecutive(vector<int>& nums) {
        unordered_set<int> nums_map;
        for(auto it: nums){
            nums_map.insert(it);
        }

        int longest_length = 0;
        for(auto it: nums){
            int temp_len = 0;
            if(!nums_map.count(it-1)){

                temp_len ++;
                while(nums_map.count(it+1)){
                    temp_len ++;
                }
            }
            longest_length = max(longest_length, temp_len);
        }

        return longest_length;
    }
};